Skip to content

feat: add expo 56 support beta testing#363

Open
valentin-callstack wants to merge 10 commits into
callstack:mainfrom
valentin-callstack:feat/add-expo-beta-testing
Open

feat: add expo 56 support beta testing#363
valentin-callstack wants to merge 10 commits into
callstack:mainfrom
valentin-callstack:feat/add-expo-beta-testing

Conversation

@valentin-callstack

@valentin-callstack valentin-callstack commented Jun 10, 2026

Copy link
Copy Markdown

Summary

Implemented automated Expo beta validation in CI.

Added a scheduled/manual workflow that detects new Expo beta releases, generates a temporary ExpoAppBeta during the CI run, applies the detected Expo version, runs npx expo install --fix, and executes scoped Android and iOS brownfield road tests. The workflow skips beta versions that were already tested successfully, writes a markdown summary to the workflow run, fails when the road test fails, and creates or updates a GitHub issue when the demo app breaks.

Test plan

  • Run yarn lint
  • Run yarn typecheck
  • Trigger the Expo beta road test workflow manually to validate the path on demand
  • Verify the workflow generates ExpoAppBeta, applies the target Expo version, runs Android/iOS road tests, and writes the markdown summary
  • Verify a failing run fails the workflow and automatically creates or updates a GitHub issue

@valentin-callstack valentin-callstack marked this pull request as draft June 10, 2026 07:26
Comment thread .github/workflows/expo-beta-road-test.yml Outdated

@artus9033 artus9033 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left a few comments on the approach so we reduce the committed code for maintainability & a cleaner way to do this. This is mostly cosmetic, other than that, it's great work & we're on the right track!

Comment thread .github/workflows/expo-beta-road-test.yml Outdated
Comment thread apps/AndroidApp/app/build.gradle.kts Outdated
Comment thread apps/AndroidApp/gradle/libs.versions.toml Outdated
Comment thread scripts/check-expo-beta.ts
Comment thread apps/AppleApp/package.json Outdated
Comment thread scripts/check-expo-beta.ts Outdated
Comment thread apps/README.md Outdated

@artus9033 artus9033 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@artus9033 artus9033 requested a review from hurali97 June 12, 2026 16:50
@artus9033 artus9033 added the enhancement New feature or request label Jun 12, 2026
@artus9033 artus9033 marked this pull request as ready for review June 12, 2026 16:50
Copilot AI review requested due to automatic review settings June 12, 2026 16:50
@artus9033

artus9033 commented Jun 12, 2026

Copy link
Copy Markdown
Collaborator

Waiting on your review @hurali97 . After that + CI green, let's ship it!

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces an automated “Expo beta” road-test path intended to validate upcoming Expo SDK beta releases (e.g., SDK 56) against the repo’s existing AndroidApp/AppleApp consumer builds before stable support is added.

Changes:

  • Add a script to detect the latest Expo beta, generate apps/ExpoAppBeta from ExpoApp55, and (optionally) apply the detected Expo version.
  • Add a scheduled GitHub Actions workflow to run Android + iOS road tests for the detected Expo beta and record success via an artifact marker / create issues on failure.
  • Add new Android flavor and iOS scheme/target + build scripts for the “expobeta” consumer variants.

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
scripts/check-expo-beta.ts Implements Expo beta detection and on-the-fly generation/updating of ExpoAppBeta.
scripts/tests/check-expo-beta.test.ts Adds unit tests for updateExpoVersion.
apps/README.md Documents ExpoAppBeta and how to build the new AppleApp consumer variant.
apps/AppleApp/package.json Adds build:example:ios-consumer:expobeta script.
apps/AppleApp/Brownfield Apple App.xcodeproj/xcshareddata/xcschemes/Brownfield Apple App Expo Beta.xcscheme Adds a shared Xcode scheme for the Expo beta consumer target.
apps/AppleApp/Brownfield Apple App.xcodeproj/project.pbxproj Adds an Expo beta AppleApp target and framework embed/link configuration.
apps/AndroidApp/package.json Adds build:example:android-consumer:expobeta script.
apps/AndroidApp/gradle/libs.versions.toml Adds a new brownfieldlib-expobeta dependency coordinate.
apps/AndroidApp/app/build.gradle.kts Adds the expobeta flavor and wires its dependency.
.github/workflows/expo-beta-road-test.yml Adds a scheduled/manual workflow to detect and road-test Expo betas on Android and iOS.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread scripts/check-expo-beta.ts Outdated
Comment thread scripts/check-expo-beta.ts Outdated
Comment thread .github/workflows/expo-beta-road-test.yml Outdated
Comment thread .github/workflows/expo-beta-road-test.yml Outdated
Comment thread .github/workflows/expo-beta-road-test.yml

@artus9033 artus9033 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Comment thread scripts/check-expo-beta.ts Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants